import pandas as pd
import os

def extract_excel_sheets():
    # 设置输入文件路径
    input_file = 'data/文物基因信息库202420241220.xlsx'
    # 创建输出目录
    output_dir = 'data/extracted_sheets'
    os.makedirs(output_dir, exist_ok=True)
    
    try:
        # 读取Excel文件中的所有表名
        excel_file = pd.ExcelFile(input_file)
        sheet_names = excel_file.sheet_names
        
        print(f"发现 {len(sheet_names)} 个子表")
        
        # 遍历每个表
        for sheet_name in sheet_names:
            print(f"正在处理表: {sheet_name}")
            # 读取当前表
            df = pd.read_excel(input_file, sheet_name=sheet_name)
            # 构建输出文件名（将sheet名中的非法字符替换为下划线）
            safe_sheet_name = "".join([c if c.isalnum() or c in (' ', '-', '_') else '_' for c in sheet_name])
            output_file = os.path.join(output_dir, f"{safe_sheet_name}.xlsx")
            # 保存为单独的Excel文件
            df.to_excel(output_file, index=False)
            print(f"已保存到: {output_file}")
            
        print("所有表格处理完成！")
        
    except Exception as e:
        print(f"处理过程中出现错误: {str(e)}")

if __name__ == "__main__":
    extract_excel_sheets()
